package com.ly.hotel.util;


public class IdChangeUtil {
	//卡号转换工具

	public static String getId(String id,String type){
		String newId = new String(id);
		if(type.equals("M1_1010")){		//M1 10进制10位卡号  JXD有用
			String id16 = Long.toHexString(Long.parseLong(id));  //转16进制
			String newId16 = "";
			for(int i=id16.length() -2;i>=-1;i=i-2){		//16进制倒序
				if(i == -1){
					newId16 += id16.substring(0,i + 2);
				}else {
					newId16 += id16.substring(i, i+2);
				}
			}
			newId = String.format("%010d",Long.valueOf(newId16,16));
		}else if(type.equals("M1_1608")){			//M1 16进制 8位数卡号  JXD用
//			String id16 = StringUtils.leftPad(Long.toHexString(Long.parseLong(id)),8,"0");
			String id16 = Long.toHexString(Long.parseLong(id));
			String id8 = String.format("%8s", id16);
			id8 = id8.replaceAll("\\s","0");				//不足8位补0处理
			String newId16 = "";
			for(int i=id8.length() -2;i>=-1;i=i-2){		//16进制倒序
				if(i == -1){
					newId16 += id8.substring(0,i + 2);
				}else {
					newId16 += id8.substring(i, i+2);
				}
			}
			newId = newId16.toUpperCase();
		}
		return newId;
	}
}
